A component of type kTweenTypeAtomList is the component that processes list tweens. For an introduction to list tweens, see "Using a List Tween Component" .
Input data: A QT atom list. This is a kTweenData atom that contains
Output data: The data for one of the list element atoms. How this atom is determined is described in "How interpolation is performed."
How interpolation is performed: The duration of the tween is divided by the number of elements in the list. At the time point for which a result is to be returned, the component determines the list element for which to return data. If (0 <= time value <= (1 * (tween duration / number of list elements)), the component returns the data for the first list element; if ((1 * (tween duration / number of list elements < time value <= (2 * (tween duration / number of list elements)), the component returns the data for the second list element , and so on. For example, if the tween duration is 100 and there are 10 elements in the list, the component returns the value of the first element for a time from 0 to 10, the value of the second element is returned for a time greater than 10 and less than or equal to 20, and so on. The total time for the tween is divided equally among the list elem ents.
The kTweenTypeAtomList container description is the following:
[(QTAtomListTweenEntryAtoms)] =
kListElementType, 1, 1
// a QTAtomType specifying the type of atoms that make up the list
kListElementDataType, 1, 1
// a UInt32 that contains one of the allowed kTweenType flags.
// kTweenTypeShort through kTweenTypeFixedPoint are allowed]
kTweenData, 1, 1
kTweenType, 1, 1
// QTAtomType for elements in list, for example 'pcid'
'pcid', anyUniqueID, 1
[data for first element]
'pcid', anyUniqueID, 2
// data for second element
...
'pcid', anyUniqueID, n
// data for nth element
<kTweenStartOffset>, 1, 1
[TimeValue] = starting offset
<kTweenDuration>, 1, 1
[TimeValue] = duration
<kTweenOutputMinValue>, 1, 1
[Fixed] = minimum output value
<kTweenOutputMaxValue>, 1, 1
[Fixed] = maximum output value
<kTweenSequenceElement>, (anyUniqueIDs), (1..numElementsInSequence)
[TweenSequenceEntryRecord]
<kTweenInterpolationID>, (a kTweenData ID), (1.. numInterpolationIDAtoms)
[QTAtomID] = the id of a kTweenEntry (child of [(TweenContainerFormat)] describing the tween
to be used to interpolate time values.
| Previous | Chapter Contents | Chapter Top | Next |